home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_objc.idb / usr / freeware / include / cakit / matrix.h.z / matrix.h
Encoding:
C/C++ Source or Header  |  1999-07-16  |  1.6 KB  |  100 lines

  1.  
  2. /*
  3.  * Computer Algebra Kit (c) 1993,98 by Comp.Alg.Objects.  All Rights Reserved.
  4.  * $Id: matrix.h,v 1.1.1.1 1999/03/22 21:48:43 stes Exp $
  5.  */
  6.  
  7. #ifndef __CAMATRIX_HEADER__
  8. #define __CAMATRIX_HEADER__
  9.  
  10. #include "cobject.h"
  11.  
  12. @interface Matrix : CAObject
  13. {
  14.   id rows;
  15.   id scalarZero;
  16.   id emptyVector;
  17. }
  18.  
  19. + diagonal:cltnOfScalars;
  20. + circulant:cltnOfScalars;
  21. + companion:cltnOfScalars;
  22. + hankel:rowScalars:colScalars;
  23. + toeplitz:rowScalars:colScalars;
  24. + hilbert:(int)n;
  25.  
  26. + scalar:aScalar numRows:(int)numRows numColumns:(int)numColumns;
  27. - copy;
  28. - deepCopy;
  29. - emptyVector;
  30. - clear;
  31.  
  32. - scalarZero;
  33. - rows;
  34. - (int) numRows;
  35. - (int) numColumns;
  36. - (BOOL) isEqual:aMatrix;
  37. - (unsigned) hash;
  38. - (BOOL) isDiagonal;
  39. - (BOOL) isSymmetric;
  40. - (BOOL) isAntiSymmetric;
  41.  
  42. - insertRow:aVector;
  43. - insertRow:aVector at:(int)i;
  44. - insertColumn:aCollection;
  45. - insertColumn:aCollection at:(int)i;
  46.  
  47. - removeRow;
  48. - removeRowAt:(int)i;
  49. - removeColumn;
  50. - removeColumnAt:(int)i;
  51.  
  52. - placeScalar:aScalar at:(int)i:(int)j;
  53. - replaceScalarAt:(int)i:(int)j with:aScalar;
  54.  
  55. - asNumerical;
  56. - asModp:(unsigned short)p;
  57. - onCommonDenominator:(id *)denominator;
  58.  
  59. - rowAt:(int)i;
  60. - eachRow;
  61. - eachScalar;
  62. - eachSequence;
  63. - (float) floatValueAt:(int)i:(int)j;
  64.  
  65. - zero;
  66. - negate;
  67. - double;
  68. - add:b;
  69. - subtract:b;
  70. - addScalar:s;
  71. - subtractScalar:s;
  72.  
  73. - one;
  74. - square;
  75. - multiply:b;
  76. - multiplyVector:aColumn;
  77.  
  78. - multiplyScalar:b;
  79. - divideScalar:b;
  80.  
  81. - transpose;
  82.  
  83. - determinant;
  84. - solveVector:y;
  85. - inverse;
  86. - divide:b;
  87. - (int) rank;
  88. - (int) nullity;
  89. - kernel;
  90. - image;
  91.  
  92. - trace;
  93. - adjoint;
  94.  
  95. - printOn:(IOD)aFile;
  96. @end
  97.  
  98. #endif                /* __CAMATRIX_HEADER__ */
  99.  
  100.